package com.sist.ocs.mqcallback;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;

/**
 * @ClassName MsgSendReturnCallback
 * @Description ReturnCallback接口用于实现消息发送到RabbitMQ交换器，但无相应队列与交换器绑定时的回调。
 *             publisher-returns必须设置为true和rabbittomplate的Mandatory必须设置为true
 * @Author: xmk
 * @Date: 2018/10/26 9:38
 * @Version: 1.0
 */
@Component
public class MsgSendReturnCallback implements RabbitTemplate.ReturnCallback {
    /**
     *
     * @param message
     * @param i 错误码
     * @param s 失败原因 如：NO_ROUTE
     * @param s1 交换器名
     * @param s2 路由键名
     */
    @Override
    public void returnedMessage(Message message, int i, String s, String s1, String s2) {
        System.out.println("无相应队列绑定 : " + message.toString());
        System.out.println("i : " + i);
        System.out.println("s : " + s);
        System.out.println("s1 : " + s1);
        System.out.println("s2 : " + s2);
    }
}
